1. Field of the Invention
The invention relates to the field of computer systems, and in particular, to compatibility and related issues, for example, between a computer slot and a candidate device intended to be plugged into that slot.
2. Background Information
Recently it has become common to configure computer systems sing motherboards and/or backplanes having a number of slot connectors (or simply "slots" herein) for receiving a variety of add-on adapter card devices. In many computer systems, input/output (I/O) interfacing and various special purpose circuitry is provided using these add-on adapter cards which conveniently and simply plug-in to standard bus connectors on the main processor motherboard or backplane.
The cards typically have edge connectors with a number of relatively closely spaced metal contacts, on one or both sides of the card edge, and the corresponding slots similarly have a like number of closely spaced metal contacts therein. When the card edge connector is inserted in the slot connector, the corresponding contacts make electrical connection. Through these contacts and their electrical connection, the card device and the board system, e.g., a personal computer, communicate data, address and control signals, for example. The card device also generally obtains electrical energy from the personal computer system through two or more of the contacts.
A variety of adapter/connector/bus types and standards are known, and one of these is the peripheral component interconnect (PCI) standard. The PCI bus is a synchronous, processor independent, 32- or 64-bit bus that functions similarly to a processor local bus. The PCI bus can be thought of as a buffered intermediate or so-called mezzanine bus, that is, an extension of the processor local bus. It is coupled to the personal computer processor local bus by so-called "bridge" circuitry, but maintains its own separate set of circuits. The original PCI bus specification provided for a clock speed of 33 MHz, which provided a data transfer rate of 80-120 Mbs (million bytes per second) in a 32-bit environment (32-bit data bus width), and up to a 264 Mbs transfer rate in a 64-bit environment. The PCI bus operates on 5 volts, 3.3 volts, or both.
Other standard types include ISA (Industry Standard Architecture--8/16 bits) and EISA (Expanded ISA--32 bits), SCSI (Small Computer System Interconnect), MCA (Micro Channel Architecture), VLB (VESA--Video Electronics Standard Association--Local Bus), AGP (Accelerated Graphics Port), and USB (Universal System Bus), to name just a few of 15 the more prominent. The newer bus types generally have higher bus speeds. For comparison purposes, the bus speeds can be referenced by the quantity of data transferred per second. The original IBM PC (IBM is a registered trademark of International Business Machine Corporation) had a bus speed of about 1 megabyte per second, the IBM AT about 4 megabytes per second, a typical ISA bus about 8 megabytes to a maximum of 16 megabytes per second, the EISA bus has 32 megabytes per second, the MCA bus 20-40 megabytes per second, the VESA VL-1 has 20-132 megabytes per second, the VESA VL-2 up to 264 megabytes per second, the 33 MHz PCI version 1.0 (32-bit) has 80-120 megabytes per second and the PCI version 2.0 (64-bit) up to 264 megabytes per second, as noted earlier.
Bus speeds are alternatively quantified by their clock frequency, e.g., in mega-Hertz (MHz). The trend is for bus speeds to increase. PCI bus speeds, for example, are now available at an operating speed of 66 MHz. Even higher bus speeds, e.g., 133 MHz, and bit widths, e.g., 128 bits, are inevitable. Motherboards with 100 MHz processor bus speeds are currently available in high-end personal computers (PC's), such as those using 450 MHz Pentium II processors. As processor and motherboard speeds increase, increased performance demands will be put on peripheral devices and their buses.
However, not withstanding standardization efforts, due in large part to technological advances, there are currently a variety of systems in use having different specifications, such as bus type and bus speed. An office network installation may have brand new PC's operating with 100 MHz processor bus speeds along side systems only a year or two old operating with 33 MHz or 66 MHz processor bus speeds. Similar differences in peripheral devices and their busses naturally also exist.
There may be older, so-called legacy devices, which use older interface technology, but which still have a considerable amount of useful life remaining. These legacy devices may represent a considerable capital and labor investment. For this reason, systems are sometimes designed to incorporate two or more peripheral bus standards on a single motherboard, e.g., PCI and EISA. It would not be unusual to encounter a system having a primarily PCI-based motherboard with an embedded PCI based video driver, PCI slots with network interface and/or modem cards, a parallel/serial interface card for mouse and printer, an on-board keyboard interface, an embedded USB bus interface, an embedded IDE bus for connecting to IDE based hard drives, an embedded floppy drive bus, one or more EISA slots with a legacy sound card, and having an SCSI interface card plugged-in for interfacing with an SCSI based scanner, for example.
Of course, there may be other reasons why slower bus speed systems and devices are still being configured, such as tradeoffs between cost and speed, for example.
Besides bus type and bus speed mentioned above, variations in the operating voltage levels provided, e.g., 3.3 volts versus 5 volts and/or 12 volts, also raise compatibility issues. Systems may be further differentiated by their bus/slot bit-width, e.g., 8-bit, 16-bit, 32-bit or 64-bit. For example, PCI busses include both 32-bit and 64-bit versions. Also, on some PCI motherboards, some of the PCI bus slots may be designated for bus master devices and some for bus slave devices.
There can also be differences in the available width, length or height clearance for card-slot electrical devices among the various available peripheral connectors and computer systems, depending on board layout, etc.
For example, the PCI standard supports both a long card form factor and a short card form factor. However, a particular system configuration may only permit a short card in a particular slot because of a lack of clearance with other installed system devices. That is, the may not be enough room for a long card in a particular slot. There may also be height clearances to consider for card devices that exceed the standard card device height. Cooling requirements may also be a factor in determining where a particular card device is or can be located in a particular system, as could electromagnetic field or other electrical interference issues, e.g., RFI (radio frequency interference). The preceding parameters are examples of what is referred to herein as "parametrics." Information about these parameters is referred to herein as "parametric data." (A parameter could be represented simply as a bit whose state indicates the parameter's value, such as in the long/short card form factor parameter mentioned above.)
It is further noted that some systems may have chassis slots for power supplies or cooling systems, for example, in addition to the backplane/motherboard slot connectors, whose parameters may affect system compatibility. Some power or cooling subsystems may be packaged in drawers which are designed to be inserted into and removed from a chassis slot as a unit, for example.
One the one hand, all the variety described above provides user choice and flexibility. On the other hand, when the various technologies need to be integrated, significant compatibility issues may frequently be presented.
It should be apparent that, even in systems which use "standard" PCI slots, for example, there are any number of situations where "compatibility" questions between a computer slot and a candidate device can arise. Examples of some of the more common situations where such issues must be addressed will now be described.
A computer user might "surf the Web" browsing for a new PCI I/O adapter card to plug into a target computer slot, for example, a slot on a backplane in an IBM AS/400 computer system (IBM and AS/400 are trademarks of International Business Machines Corporation, all rights reserved). Before purchasing and installing the adapter card, the user needs to be sure they will be compatible. The adapter card and the computer system will generally (but not always) come with associated marketing literature and various other documents, e.g., technical specifications (specs), listing all the pertinent attributes and parameters (also called "parametrics" herein) needed to determine if the device and slot are compatible. For example, the user may be concerned whether the computer system backplane PCI slot can support the bus speed specified for the adapter, e.g., 66 MHz.
However, it may be the case that the computer system PCI backplane has been swapped out with an upgraded version, for example, and therefore the original computer system documentation the user has is no longer accurate. The user may have lost or misplaced any documentation that came with the upgraded board. In such a situation, the computer user may have difficulty finding out whether the new backplane's bus speed parameter for the PCI slot can support the candidate PCI adapter device's bus speed.
As another example of a problematic compatibility question, suppose the computer user considering new I/O adapters has seven different computer towers (towers being separate enclosures which may contain one or any number of processing elements, backplanes and peripherals) all attached, e.g., operatively interconnected to form a multiprocessor system. The seven computer towers could have seven or more different types of PCI backplanes installed. The computer user would have to gather together all the tower documentation to figure out how many PCI slots of the following representative connector types are available: 33 MHz--32 bit--5 Volt connectors; 33 MHz--32 bit--3.3 Volt connectors; 64 bit--33 MHz--5 Volt connectors; 64 bit--33 MHz--3.3 Volt connectors; 32 bit--66 MHz--3.3 Volt connectors; or 64 bit--66 MHz--3.3 Volt connectors.
Another example would be if a computer user has purchased a new DASD (direct access storage device) to plug into the computer. The computer user may know by looking at existing configuration records, for example, that there are five empty DASD slots available. However, the computer user would also like to know without the need of taking the back cover off of the computer, which empty slots in this computer have 1.6" width spacing, required to accommodate the new DASD. It is typically the case in this particular computer system that there are mostly 1.0" spaced DASD connectors on the backplane.
Another example would be where a computer user is considering upgrading to a new power supply which is smaller in size, but more powerful in output wattage. The associated literature states that the old power supply was not "hot-pluggable," which means it was not concurrently maintainable, i.e., it could not be serviced or replaced while the computer system was running. This may have been because, for example, a chassis slot opening was too small to accommodate an effective latch retention and removal mechanism to facilitate concurrent maintenance. However, the computer user would like to know whether the smaller power supply once installed in the system could be concurrently maintained, which might be a decisive advantage in making the decision to upgrade.
As another example of a problematic compatibility question, assume a DASD has just been concurrently plugged into a computer slot, that is, while the computer system is running. Prior to the I/O subsystem configuring and formatting this newly installed DASD, it would be desirable for the SCSI (Small Computer System Interconnect) bus controller to be able to read the capability of the DASD slot where the new DASD has just been plugged, in case, for example, system operating efficiency is thereby threatened. An example of this would be where the operator plugged a Single Ended (SE) DASD device into a backplane bus that is otherwise capable of higher speed differential bus activity. In such a case, assuming that prior to the installation of the new DASD, all the other DASD's on the SCSI bus were running in the faster differential mode, the entire SCSI bus would be disadvantageously slowed down to accommodate the slower SE DASD.
As a further example, assume a corporate computer user has hundreds of various "WINTEL" computers (Intel processor based computers running the Windows operating system), PC's, workstations, and servers, and wants to upgrade the processors, for example, in all of them. Before contacting a $100/hour and up computer consultant, the user wonders whether some advance work could be done to prepare for the meeting with the consultant. This computer user would like to know, for example, how many `Embedded`, `Socket 7`, `Socket 8`, `Slot 1`, `Slot 2` and `Slot M` processors there are, and how much power is delivered to each of these processor connector-types, so that the upgrade options and costs can be more readily determined. The original documentation for these computers may not have been retained, or may not even have provided this information. Clearly, manually opening and checking each computer could be very time consuming.
As another example, assume a computer complex system error log has indicated a particular LAN (Local Area Network) is having many `timeout` problems, i.e., operations are not being completed within allotted time limits, and these are usually occurring on two older machines (computers) attached to the network. The System Administrator (SA) is debating whether to ask Management to update the problematic machines with one or more newer computer systems. Before doing that, the SA wonders whether all that is needed is a new Ethernet (a network type) controller. The SA would like to know whether the `slot` assigned to the Ethernet controller actually represents an embedded Ethernet device, i.e., the Ethernet device is integrated on a system board as opposed to being a removable, e.g., slot-type, device, however, the old computer system documentation may be missing or incomplete. The SA would like to know because if the Ethemet controller is an embedded device, then the whole system board (backplane) would have to be replaced to test the theory that the problem is the controller. The cost of replacing that backplane could tip the balance toward buying the new computers, for example. If the controller is a removable device, then the replacement cost to perform the test would be trivial.
The above examples could be classified into a number of different categories of compatibility issues, as follows. In the first example, an electrical property and parameter (i.e., bus speed) of both the device and the backplane are the issue. In the second example, the physical connection parameter (PCI slot speed/voltage) is the issue. In the third example, the required physical spacing between slots is the issue. In the fourth example, concurrent maintenance and usability is the issue. That is, the possible new `capabilities` of the slot based on characteristics of the device are at issue. In the fifth example, the PCI subsystem performance, and whether it will be adversely affected, is the issue.
The sixth example, dealing with the processor socket type, is similar to the first example, in that electrical properties (of the backplane and the possible upgrade processors) are at issue. The last example relates to PAR (Problem Analysis and Resolution) actions which need to be facilitated.
From the above examples, it can be seen that there are a number of compatibility and related issues which computer users may be faced with from time to time. As has been shown, at present, resolving these issues, if even possible, can be costly and time consuming. Presently, users have to rely on written documentation or limited on-line "help" tools.
Published European Application EP-0-517-403-A2 (published Dec. 9, 1992) describes a "Diagnostic system for a personal computer." On page 6 of this EP document, and with reference to FIGS. 1, 2 and 3, it is stated that VPD information for a particular product "is read from the product ROM into VPD 92 when the system is first powered up after the product adapter has been installed." The text goes on to list the particular VPD information provided. However, the system described in the EP document does not provide parametric information, a specific type of VPD, such as is described herein below, to be coordinated with chassis VPD.
A system power control network (SPCN) is known from U.S. Pat. No. 5,117,430, and from co-pending application Ser. No. 08/912,561, filed Aug. 18, 1997, entitled "FAIL-SAFE COMMUNICATIONS NETWORK FOR USE IN SYSTEM POWER CONTROL" attorney docket number RO997-083-IBM-101. The SPCN communications network is a low volume serial network used to monitor power conditions at a plurality of nodes in a computer system, for example, the IBM AS/400 (IBM and AS/400 are registered trademarks of International Business Machines Corporation). The nodes typically include microprocessors which monitor the status of, and make occasional adjustments to, the power conditions at the respective nodes.
It is further known to store vital product data (VPD) for correlating the physical locations of system components with their corresponding logical addresses in a computer system, for example, from co-pending patent application Ser. No. 08/971,687, filed Nov. 17, 1997, entitled "METHOD AND APPARATUS FOR CORRELATING COMPUTER SYSTEM DEVICE PHYSICAL LOCATION WITH LOGICAL ADDRESS" assigned to the same assignee as the present application. As described therein with respect to an exemplary embodiment, memory, e.g., non-volatile memory, is provided on a PCI backplane and written with VPD product information, such as the type of backplane, manufacture date, backplane serial number, type of slots on the backplane, etc., and this information is retained for use by the operating system if and when needed for service action, upgrades, or for on-line configuration management and order process.
Further, the VPD information may advantageously be written and accessed, for example, using a system power control network, such as an SPCN disclosed in the above-mentioned U.S. Pat. No. 5,117,430 or in the other related co-pending application Ser. No. 08/912,561.
From the previous discussion, it can be seen that a need has existed for an enhanced way of resolving compatibility and related issues such as those described above, so that computer users may avoid and/or resolve technical issues, such as compatibility problems, more efficiently.